821. Shortest Distance to a Character - LeetCode Solution


String Array

Python Code:

class Solution:
    from math import fabs
    def shortestToChar(self, s: str, c: str) -> List[int]:
        

        pos = []
        for i in range(len(s)):
            if s[i] == c:
                pos.append(i)

        first = pos[0]
        second = pos[0]
        count = 0
        ans = []
        for i in range(len(s)):
            a = int(fabs(i - first))
            b = int(fabs(second - i))


            if a == 0 or b == 0:
                first = second
                if count<len(pos)-1:
                    count+=1
                    second = pos[count]

            ans.append(min(a, b))

        return ans
            


Comments

Submit
0 Comments
More Questions

1722F - L-shapes
1196B - Odd Sum Segments
1325D - Ehab the Xorcist
552B - Vanya and Books
1722E - Counting Rectangles
168A - Wizards and Demonstration
168B - Wizards and Minimal Spell
7A - Kalevitch and Chess
912B - New Year's Eve
1537C - Challenging Cliffs
879B - Table Tennis
1674E - Breaking the Wall
1282A - Temporarily unavailable
1366C - Palindromic Paths
336A - Vasily the Bear and Triangle
926A - 2-3-numbers
276D - Little Girl and Maximum XOR
1253C - Sweets Eating
1047A - Little C Loves 3 I
758D - Ability To Convert
733A - Grasshopper And the String
216A - Tiling with Hexagons
1351B - Square
1225A - Forgetting Things
1717A - Madoka and Strange Thoughts
1717B - Madoka and Underground Competitions
61B - Hard Work
959B - Mahmoud and Ehab and the message
802G - Fake News (easy)
1717C - Madoka and Formal Statement